// pkg_house/pages/locate/index.ts
import qqmapsdk from '../../../utils/qqmapsdk'

Page({
  data: {
    list: [],
    address: '',
  },
  async onLoad() {
    // 获取当前的地理位置
    const { latitude, longitude } = await wx.getLocation({ type: 'gcj02' })
    // 调用搜索
    this.search({ latitude, longitude })
    // 调用逆地址解析
    this.getPoint({ latitude, longitude })
  },
  // 打开地图选择位置
  async chooseLocation() {
    // 手机预览地图更准确，模拟器定位不准确
    const { name, latitude, longitude } = await wx.chooseLocation()
    // console.log('🟢 打开地图选择位置', res)
    this.setData({
      address: name,
    })
    // 基于新选择的经纬度，重新搜索附近小区
    this.search({ latitude, longitude })
  },
  // 获取当前地址信息
  getPoint({ longitude, latitude }) {
    // 调用逆地址解析(基于经纬度转换为对应的地址信息)
    qqmapsdk.reverseGeocoder({
      // 位置坐标
      location: { longitude, latitude },
      success: (res) => {
        // console.log('🟢 逆地址解析', res)
        this.setData({
          address: res.result.address,
        })
      },
    })
  },
  // 搜索
  search({ longitude, latitude }) {
    // 调用搜索服务
    qqmapsdk.search({
      // 位置坐标
      location: { longitude, latitude },
      // 搜索关键词
      keyword: '住宅小区',
      // 查看文档参数：https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/methodSearch
      page_size: 5,
      success: (res) => {
        // console.log(res)
        this.setData({
          list: res.data,
        })
      },
    })
  },
})
